package com.jketing.entity;

import java.io.Serializable;

import javax.persistence.Id;
import javax.persistence.MappedSuperclass;

/**
 * BaseEntity Entity基类
 * 
 * @author  李荣华
 * @version v1.0
 * @date    2017-10-26
 * @since   jpa 2.1
 */
@MappedSuperclass
public abstract class BaseEntity  implements Serializable{	
	private static final long serialVersionUID = -3934825850470780708L;
	/**
	 * id:主键
	 */
	protected String id;
	
	/**
	 * id PK
	 */
	@Id
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}

	/**
	 * 	hashCode 返回实例散列代码值
	 * 
	 * 	根据此实例 id值计算散列代码值
	 * 
	 * 	@return 此对象的散列代码值
	 */
	@Override
	public int hashCode() {
		int hash = 0;
		hash += (id != null ? id.hashCode() : 0);
		return hash;
	}

	/**
	 * 实例转字符串
	 * 
	 * 返回对象加上实例 id值
	 * 
	 * @return 对象的字符串表示。
	 */
	@Override
	public String toString() {
		return getClass().getName() + "[id=" + id + "]";
	}
}
